package listener.usuallistener;

import javax.servlet.ServletContextAttributeEvent;
import javax.servlet.ServletContextAttributeListener;

/**
 * @description ServletContext发生增删改时触发, 类似的还有:
 *                               HttpSessionAttributeListener ServletRequestAttributeListener
 *
 * @author linshuo
 *
 */
public class AttributeListener implements ServletContextAttributeListener {

    @Override
    //ServletContext执行setAttribute创新值后触发
    public void attributeAdded(ServletContextAttributeEvent scab) {
        String attriName = scab.getName();
        String attriValue = (String) scab.getValue();
        System.out.println(attriName + " " + attriValue);
    }

    @Override
    //ServletContext执行removeAttribute删旧值时触发
    public void attributeRemoved(ServletContextAttributeEvent scab) {
        String attriName = scab.getName();
        String attriValue = (String) scab.getValue();
        System.out.println(attriName + " " + attriValue);

    }

    @Override
    //ServletContext执行setAttribute修改值后触发
    public void attributeReplaced(ServletContextAttributeEvent scab) {
        String attriName = scab.getName();
        String attriValue = (String) scab.getValue();   //被replace前的值
        System.out.println(attriName + " " + attriValue);

    }

}
